setq
M-x describe-function RET setq RET とすると、
setq is a special form.
(setq SYM VAL SYM VAL ...)
Set each SYM to the value of its VAL.
The symbols SYM are variables; they are literal (not evaluated).
The values VAL are expressions; they are evaluated.
Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'.
The second VAL is not computed until after the first SYM is set, and so on;
each VAL can use the new value of variables set earlier in the `setq'.
The return value of the `setq' form is the value of the last VAL.
と書いてある。二番目が変数名、三つ目がそれに代入する値で、
要するに変数に値を代入する。
例えば、
(setq hoge 1234)
というのは、hoge に 1234 を代入する。
最初に作る ~/.emacs.el は、この (setq 変数名 設定値)だけを(縦に)並べておくというだけのもの
が多い。つまり良く使う。
設定値としては、「データ型」の話になるが、簡単には
種類 | 例
|
---|
数字 | 512
| 論理値 |
t または nil
| この二つは特別な文字列(予約語)。それぞれ 真・偽
| 文字 | "localhost"
|
シンボル名
| 'nntp
|
のようなものがある。ちょっと長い例では、次のようなものもある。これは中で関数も呼んでいる。
(setq display-time-string-forms
'(month "/" day " " dayname " " 24-hours ":" minutes " "
(if mail " Mail" "") ))
ところで、余談ではあるが、
実は
(setq hoge 1234) と書いているのは、
(set (quote hoge) 1234)
を短く書いたもので、
(set 'hoge 1234)
と書いても同じことになる。
もし ' とか quote を忘れるとか setq の代りに set .. つまり
(set hoge 1234)
としてしまうと、hoge の内容の変数名に 1234 が代入される
という訳で、元々は
「セット・クォート」なので
読み方は、
「セットク」が多分正しい。
というのは実は 2002/02/11 に知った。(気が付いた)
参考文献:
岩波講座・ソフトウェア科学 8 「記号処理プログラミング」
後藤滋樹 (p12)
|